package exp.day02;

//凯撒密码：把一个文章中加密：规则是用这个字母的后三个字母加密A->D Y->B(循环加密）
// 输出加密后的内容，并进行解密
public class P03_Teacher {
    public static void main(String[] args) {
        String s = "I love Operate System and Java programming!";
        StringBuffer buf = new StringBuffer();
        int offset = 3; //偏移量
        for (char c : s.toCharArray()) {
            if (!Character.isLetter(c)) {
//                Stringbuffer是动态字符串数组，append( )是往动态字符串数组添加，跟“xxxx”+“yyyy”相当‘+’号。
                buf.append(c);
                continue;
            }
            if (Character.isUpperCase(c)) { //是否为大写
                int x = c - 'A';            //原始位置
                int y = (x + offset) % 26;  //当前位置
                char ch = (char) ('A' + y); //当前字母
                buf.append(ch);
            } else {                        //小写字母
                int x = c - 'a';
                int y = (x + offset) % 26;
                char ch = (char)('a' + y);
                buf.append(ch);
            }
        }
        System.out.println(buf.toString());
    }
}
